The present invention relates generally to sequence detection, and more particularly to calculation of path metrics in sequence detectors for detecting symbol sequences transmitted over a channel.
Sequence detectors are used for detecting a sequence of data symbols communicated via an analog signal transmitted over a channel whose output is sampled at the receiver. For a given sample sequence obtained from a channel, the aim of such detectors is to determine the most likely symbol values for the symbol sequence supplied to the channel input. In data transmission, a sequence of input symbols drawn from a signal constellation is typically used to modulate some continuous waveform which is transmitted through a dispersive channel and sampled at the receiver. These samples would ideally equal the corresponding input symbols. However, they are corrupted by noise and interference with neighboring transmitted symbols. The latter phenomenon is commonly referred to as intersymbol interference (ISI). Sequence detectors such as Viterbi detectors (also called “Viterbi decoders”) use recursive methods to determine the most probable input symbol sequence. Such detectors for high-speed data transmission play a vital role in designing receivers in compliance with recently approved communications standards, e.g. the IEEE P802.3bj standard for 100 Gb/s Ethernet, and upcoming communications standards, e.g. the IEEE P802.3bs standard for 400 Gb/s Ethernet.
Sequence detectors typically include a series of units which process successive input samples to select survivor paths through a trellis. For an n-state trellis, n survivor paths are selected, each corresponding to a possible sequence of symbol values for input samples processed thus far. The survivor paths are updated for each input sample and, at the end of the input sample sequence, one survivor path is selected as the optimum (i.e. most likely) path. This optimum path defines the detected sequence of symbol values. The detector units comprise a branch metric unit (BMU), a path metric unit (PMU), and a survivor memory unit (SMU). The BMU receives the input samples and calculates, for each input sample and each state of the trellis, branch metrics for possible transitions to that state corresponding to the input sample. This is done by computing hypothesized input values for the current input sample in a hypothesized value generator (HVG) of the BMU, and then comparing the input sample with the hypothesized values. Using the outcomes of these comparisons, the BMU derives the branch metrics for possible transitions to each state of the trellis for the current input sample. The PMU receives the branch metrics from the BMU and accumulates the branch metrics for each survivor path to obtain path metrics for each state of the trellis. This involves selection of an optimum path metric for each state from possible path metrics (“partial path metrics”) computed using the branch metrics, and thus determines a latest symbol value in the survivor path to each state. These symbol decisions are stored in the SMU, where the survivor paths are updated in each time step until the final symbol decisions are output.
Normalization of the path metrics is required in sequence detectors if there is no state pinning in the encoder (i.e. periodic insertion of a known symbol in the transmitted symbol sequence so that the state at specific times is known to the detector). While state pinning is defined in the IEEE 802.3bj standard via use of “termination symbols”, the IEEE P802.3bs standard has not adopted such a scheme. Normalization schemes are described in “An alternative to metric rescaling in Viterbi decoders”, Hekstra, IEEE Trans. Commun., vol. 37, no. 11, pp. 1220-1222, November 1989, and “VLSI architectures for metric normalization in the Viterbi algorithm”, Shung et al., IEEE Int. Conf. Commun., 1990, pp. 1723-1728. These schemes require use of two's complement representation for the binary signals in the detector.
To implement a sequence detector for high-speed data transmission, it is also important to be able to normalize the path metrics at the same data rate, and ideally with minimal extra circuitry in order to minimize area occupation, power consumption, and latency. These considerations are especially important when a transmission scheme with many encoder and/or channel states is adopted, such as that in the IEEE 802.3ab standard.